home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / devices / lpdev.zoo / lpdev.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-08-03  |  1.6 KB  |  85 lines

  1. /*
  2.  * lpdev.h: common definitions for lpdev.c and lpflush.c
  3.  */
  4.  
  5. #include <minimal.h>
  6. #include <string.h>
  7. #include <stdlib.h>
  8. #include <osbind.h>
  9. #include <basepage.h>
  10. #include <mintbind.h>
  11. #include "filesys.h"
  12. #include "atarierr.h"
  13.  
  14. /*
  15.  * Default settings. DEVNAME is the name of the device,
  16.  * BUFSIZE is the size of the circular buffer,
  17.  * in bytes. It should be an even long-number.
  18.  */
  19.  
  20. #define  DEVNAME    "u:\\dev\\lp"    /* device name     */
  21. #define  BUFSIZE    (24*1024L)    /* 24 kbyte buffer */
  22.  
  23. /*
  24.  * kernel functions
  25.  */
  26.  
  27. #define TGETTIME    (*kernel->dos_tab[0x2c])
  28. #define TGETDATE    (*kernel->dos_tab[0x2a])
  29.  
  30. #define NAP        (*kernel->nap)
  31. #define SLEEP        (*kernel->sleep)
  32. #define WAKE        (*kernel->wake)
  33. #define WAKESELECT    (*kernel->wakeselect)
  34.  
  35. /* 
  36.  * Debugging stuff; it can be removed if you want to spare a few bytes
  37.  */
  38.  
  39. #define DEBUG(x)    (*kernel->debug)x
  40. #define ALERT(x)    (*kernel->alert)x
  41. #define TRACE(x)    (*kernel->trace)x
  42. #define FATAL(x)    (*kernel->fatal)x
  43.  
  44. /* 
  45.  * different process queues 
  46.  */
  47.  
  48. #define CURPROC_Q    0
  49. #define READY_Q        1
  50. #define WAIT_Q        2
  51. #define IO_Q        3
  52. #define ZOMBIE_Q    4
  53. #define TSR_Q        5
  54. #define STOP_Q        6
  55. #define SELECT_Q    7
  56.  
  57. /*
  58.  * Here are prototypes for the functions defined in "centr.s"
  59.  */
  60.  
  61. void new_centr_vector(void);
  62. void print_byte(int);
  63.  
  64. #ifdef NO_INLINE
  65. int spl7();
  66. void spl(int);
  67. #else
  68.  
  69. #define spl7()            \
  70. ({  register short retvalue;    \
  71.     __asm__ volatile("        \
  72.     movew sr,%0;         \
  73.     oriw  #0x0700,sr "     \
  74.     : "=d"(retvalue)         \
  75.     ); retvalue; })
  76.  
  77. #define spl(N)            \
  78. ({                  \
  79.     __asm__ volatile("        \
  80.     movew %0,sr "         \
  81.     :                \
  82.     : "d"(N) ); })
  83.  
  84. #endif
  85.